Update sessionKey

Brightcells лет %!s(int64=6): %!d(string=назад)
Родитель
Сommit
1e70cfa377
3 измененных файлов с 11 добавлено и 4 удалено
  1. 3 1
      api/mch_views.py
  2. 7 2
      miniapp/views.py
  3. 1 1
      requirements_pywe.txt

+ 3 - 1
api/mch_views.py

@@ -159,6 +159,8 @@ def upgrade_api(request):
159 159
 
160 160
 
161 161
 def getPhoneNumber(request):
162
+    user_id = request.POST.get('user_id', '')
163
+
162 164
     wxcfg = WECHAT.get('MINIAPP', {})
163 165
 
164 166
     appid = wxcfg.get('appID')
@@ -177,7 +179,7 @@ def getPhoneNumber(request):
177 179
     #             "timestamp": TIMESTAMP
178 180
     #         }
179 181
     # }
180
-    phone_number = get_phone_number(appid=appid, secret=secret, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))
182
+    phone_number = get_phone_number(appid=appid, secret=secret, unid=user_id, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))
181 183
 
182 184
     return phone_number.get('purePhoneNumber', '')
183 185
 

+ 7 - 2
miniapp/views.py

@@ -7,7 +7,7 @@ from django_logit import logit
7 7
 from django_response import response
8 8
 from ipaddr import client_ip
9 9
 from pywe_membercard import get_miniapp_extraData
10
-from pywe_miniapp import get_userinfo
10
+from pywe_miniapp import get_userinfo, store_session_key, get_session_key
11 11
 from pywe_storage import RedisStorage
12 12
 from TimeConvert import TimeConvert as tc
13 13
 
@@ -48,7 +48,9 @@ def get_userinfo_api(request):
48 48
     #  u'province': u'Guangdong',
49 49
     #  u'unionId': u'ocMvos6NjeKLIBqg5Mr9QjxrP1FA',
50 50
     #  u'watermark': {u'appid': u'wx4f4bc4dec97d474b', u'timestamp': 1477314187}}
51
-    userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))
51
+    session_key = get_session_key(appid=appid, secret=secret, code=code)
52
+    # Get Userinfo
53
+    userinfo = get_userinfo(appid=appid, secret=secret, code=code, session_key=session_key, encryptedData=encryptedData, iv=iv)
52 54
 
53 55
     # Get or Create User
54 56
     user, created = UserInfo.objects.select_for_update().get_or_create(unionid=userinfo.get('unionId', ''))
@@ -78,7 +80,10 @@ def get_userinfo_api(request):
78 80
     user.signup_at = tc.utc_datetime()
79 81
     user.save()
80 82
 
83
+    # Store Userinfo
81 84
     set_profile_info(user)
85
+    # Store SessionKey
86
+    store_session_key(appid=appid, secret=secret, session_key=session_key, unid=user.user_id, storage=RedisStorage(r))
82 87
 
83 88
     return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.brandata(brand_id=brand_id))
84 89
 

+ 1 - 1
requirements_pywe.txt

@@ -1,6 +1,6 @@
1 1
 pywe-jssdk==1.1.0
2 2
 pywe-membercard==1.0.0
3
-pywe-miniapp==1.1.0
3
+pywe-miniapp==1.1.3
4 4
 pywe-oauth==1.0.6
5 5
 pywe-pay==1.0.12
6 6
 pywe-pay-notify==1.0.4